#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QMessageBox>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    // 创建QMessageBox
    QMessageBox* messageBox = new QMessageBox(this);
    messageBox->setWindowTitle("对话框窗口标题");
    messageBox->setText("这是对话框的文本");
    messageBox->setIcon(QMessageBox::Warning);

    // 使用QMessageBox内置标准按钮
    messageBox->setStandardButtons(QMessageBox::Ok | QMessageBox::Save | QMessageBox::Cancel);

    // 使用自定义按钮，需要通过信号槽关联后续操作
    QPushButton* button = new QPushButton("按钮", messageBox);
    messageBox->addButton(button, QMessageBox::AcceptRole);

    // 使用标准按钮可以通过exec的返回值，获取用户点击的按钮
    int result = messageBox->exec();
    if (result == QMessageBox::Ok) qDebug() << "Ok";
    else if (result == QMessageBox::Save) qDebug() << "Save";
    else if (result == QMessageBox::Cancel) qDebug() << "Cancel";
    else qDebug() << result;

    // 模态对话框是阻塞式，调用完可以直接delete，也可以设置Qt:WA_DeleteOnClose，两者没啥区别
    delete messageBox;
}
